Virtual memory is an abstract concept of memory that a computer system uses when it references memory. Virtual memory consists of the computer system's main memory (RAM), which at the present state of the art is DRAM and DDRAM, its file systems and paging space. At different points in time, a virtual memory address referenced by an application may be in any of these locations. The application does not need to know which location as the computer system's virtual memory manager (VMM) will transparently move blocks of data around as needed.
Power consumption has become a significant factor in the operational costs of the computer data centers. The information systems industries have continuously sought to reduce power consumption in data processing equipment. In recent years, it has been appreciated that even operational virtual memory energy, i.e. power consumption, will have a significant effect on power consumption costs. Consequently, conventional virtual memory controllers now have the capability of putting DRAM or DDRAM memory portions into lower power consumption modes during idle states.
Such conventional powering down approaches involved significant enhancements of the memory controller structure. While these virtual memory power reduction implementations have been relatively effective where the memory system uses one type of physical memory, the need for a virtual memory system to use or have available for use a combination of different types of physical memory presents a challenge to the reduction of memory power consumption. This invention aims to satisfy a need in virtual memory technology to have a combination of different types of physical memory devices work together in tandem as a system's primary memory to achieve performance with optimum reductions in power consumption. Some conventional physical memory devices that may be combined with conventional memory are Phase Change Memory (PCM), flash memory and memory with support for power management.